483C - Diverse Permutation - CodeForces Solution


constructive algorithms implementation *1200

Please click on ads to support us..

Python Code:

n,k=map(int,input().split())



l=[]
x=n
y=1
for i in range(k):

    if i%2==0:

        l.append(x)

        x-=1

    else:
        l.append(y)
        y+=1


low=0
t=0

if k%2==0:

    low=y
    t=1

else:

    low=x
    t=-1

for i in range(n-k):

    l.append(low)
    low+=t
    
for i in l:
    
    print(i,end=" ")

C++ Code:

#include <bits/stdc++.h>
using namespace std;
int main()
{
    cin.sync_with_stdio(0);
    cin.tie(0);
    int n, k;
    cin >> n >> k;
    int l = 1, r = n;
    int i = 0;
    while (k>1)
    {
        if (i%2==0) cout << l++ << ' ';
        else cout << r-- << ' ';
        k--; 
        i++;
    }
    if (i%2==0)
    {
        while (l<=r) cout << l++ << ' ';
    }
    else while (r>=l) cout << r-- << ' ';
    return 0;
}/*1698101581.4531465*/


Comments

Submit
0 Comments
More Questions

1107B - Digital root
25A - IQ test
785A - Anton and Polyhedrons
1542B - Plus and Multiply
306A - Candies
1651C - Fault-tolerant Network
870A - Search for Pretty Integers
1174A - Ehab Fails to Be Thanos
1169A - Circle Metro
780C - Andryusha and Colored Balloons
1153A - Serval and Bus
1487C - Minimum Ties
1136A - Nastya Is Reading a Book
1353B - Two Arrays And Swaps
1490E - Accidental Victory
1335A - Candies and Two Sisters
96B - Lucky Numbers (easy)
1151B - Dima and a Bad XOR
1435B - A New Technique
1633A - Div 7
268A - Games
1062B - Math
1294C - Product of Three Numbers
749A - Bachgold Problem
1486B - Eastern Exhibition
1363A - Odd Selection
131B - Opposites Attract
490C - Hacking Cypher
158B - Taxi
41C - Email address